namespace DotNetNuke.Security.Authentication
{
    using DotNetNuke.Entities.Users;
    using System;

    public class UserInfo : DotNetNuke.Entities.Users.UserInfo, IAuthenticationObjectBase
    {
        private string mAssistant;
        private bool mAuthenticationExists = false;
        private string mCName = "";
        private string mDepartment;
        private string mDistinguishedName = "";
        private string mGUID = "";
        private string mHomePhone;
        private bool mIsAuthenticated;
        private string mLocation = "";
        private string mManager;
        private string mPrincipalName = "";
        private string msAMAccountName = "";

        /// -------------------------------------------------------------------
        /// <summary>
        /// </summary>
        /// <remarks>
        /// </remarks>
        /// <history>
        /// [tamttt]	08/01/2004	Created
        /// </history>
        /// -------------------------------------------------------------------
        public string Assistant
        {
            get
            {
                return this.mAssistant;
            }
            set
            {
                this.mAssistant = value;
            }
        }

        /// -------------------------------------------------------------------
        /// <summary>
        /// </summary>
        /// <remarks>
        /// </remarks>
        /// <history>
        /// [tamttt]	08/01/2004	Created
        /// </history>
        /// -------------------------------------------------------------------
        public bool AuthenticationExists
        {
            get
            {
                return this.mAuthenticationExists;
            }
            set
            {
                this.mAuthenticationExists = value;
            }
        }

        /// -------------------------------------------------------------------
        /// <summary>
        /// </summary>
        /// <remarks>
        /// </remarks>
        /// <history>
        /// [tamttt]	08/01/2004	Created
        /// </history>
        /// -------------------------------------------------------------------
        public string CName
        {
            get
            {
                return this.mCName;
            }
            set
            {
                this.mCName = value;
            }
        }

        /// -------------------------------------------------------------------
        /// <summary>
        /// </summary>
        /// <remarks>
        /// </remarks>
        /// <history>
        /// [tamttt]	08/01/2004	Created
        /// </history>
        /// -------------------------------------------------------------------
        public string Department
        {
            get
            {
                return this.mDepartment;
            }
            set
            {
                this.mDepartment = value;
            }
        }

        /// -------------------------------------------------------------------
        /// <summary>
        /// </summary>
        /// <remarks>
        /// </remarks>
        /// <history>
        /// [tamttt]	08/01/2004	Created
        /// </history>
        /// -------------------------------------------------------------------
        public string DistinguishedName
        {
            get
            {
                return this.mDistinguishedName;
            }
            set
            {
                this.mDistinguishedName = value;
            }
        }
        //public
         string DotNetNuke.Security.Authentication.IAuthenticationObjectBase.GUID
        {
            get
            {
                return this.mGUID;
            }
            set
            {
                this.mGUID = value;
            }
        }
         //public
         string DotNetNuke.Security.Authentication.IAuthenticationObjectBase.Location
        {
            get
            {
                return this.mLocation;
            }
            set
            {
                this.mLocation = value;
            }
        }
         //public
         string DotNetNuke.Security.Authentication.IAuthenticationObjectBase.Name
        {
            get
            {
                return this.sAMAccountName;
            }
        }
         //public
         DotNetNuke.Security.Authentication.ObjectClass DotNetNuke.Security.Authentication.IAuthenticationObjectBase.ObjectClass
        {
            get
            {
                return DotNetNuke.Security.Authentication.ObjectClass.person;
            }
        }

        /// -------------------------------------------------------------------
        /// <summary>
        /// </summary>
        /// <remarks>
        /// </remarks>
        /// <history>
        /// [tamttt]	08/01/2004	Created
        /// </history>
        /// -------------------------------------------------------------------
        public string GUID
        {
            get
            {
                return this.mGUID;
            }
            set
            {
                this.mGUID = value;
            }
        }

        /// -------------------------------------------------------------------
        /// <summary>
        /// </summary>
        /// <remarks>
        /// </remarks>
        /// <history>
        /// [tamttt]	08/01/2004	Created
        /// </history>
        /// -------------------------------------------------------------------
        public string HomePhone
        {
            get
            {
                return this.mHomePhone;
            }
            set
            {
                this.mHomePhone = value;
            }
        }

        /// -------------------------------------------------------------------
        /// <summary>
        /// </summary>
        /// <remarks>
        /// </remarks>
        /// <history>
        /// [tamttt]	08/01/2004	Created
        /// </history>
        /// -------------------------------------------------------------------
        public string Location
        {
            get
            {
                return this.mLocation;
            }
            set
            {
                this.mLocation = value;
            }
        }

        /// -------------------------------------------------------------------
        /// <summary>
        /// </summary>
        /// <remarks>
        /// </remarks>
        /// <history>
        /// [tamttt]	08/01/2004	Created
        /// </history>
        /// -------------------------------------------------------------------
        public string Manager
        {
            get
            {
                return this.mManager;
            }
            set
            {
                this.mManager = value;
            }
        }

        /// -------------------------------------------------------------------
        /// <summary>
        /// </summary>
        /// <remarks>
        /// </remarks>
        /// <history>
        /// [tamttt]	08/01/2004	Created
        /// </history>
        /// -------------------------------------------------------------------
        public string Name
        {
            get
            {
                return this.sAMAccountName;
            }
        }

        /// -------------------------------------------------------------------
        /// <summary>
        /// </summary>
        /// <remarks>
        /// </remarks>
        /// <history>
        /// [tamttt]	08/01/2004	Created
        /// </history>
        /// -------------------------------------------------------------------
        public DotNetNuke.Security.Authentication.ObjectClass ObjectClass
        {
            get
            {
                return DotNetNuke.Security.Authentication.ObjectClass.person;
            }
        }

        /// -------------------------------------------------------------------
        /// <summary>
        /// </summary>
        /// <remarks>
        /// </remarks>
        /// <history>
        /// [tamttt]	08/01/2004	Created
        /// </history>
        /// -------------------------------------------------------------------
        public string PrincipalName
        {
            get
            {
                return this.mPrincipalName;
            }
            set
            {
                this.mPrincipalName = value;
            }
        }

        /// -------------------------------------------------------------------
        /// <summary>
        /// </summary>
        /// <remarks>
        /// </remarks>
        /// <history>
        /// [tamttt]	08/01/2004	Created
        /// </history>
        /// -------------------------------------------------------------------
        public string sAMAccountName
        {
            get
            {
                return this.msAMAccountName;
            }
            set
            {
                this.msAMAccountName = value;
            }
        }
    }
}

